package com.egao.common.module.student.entity.vo;

import cn.hutool.core.date.DatePattern;
import com.fasterxml.jackson.annotation.JsonFormat;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;

import java.util.Date;

/**
 * 学生毕业去向管理列表
 * 适用学院、学校管理人员
 * @author lym
 */
@Data
public class StudentSignAdminListVO {

    @ApiModelProperty("毕业去向ID")
    private Integer id;

    @ApiModelProperty("学生ID")
    private Integer studentId;

    @ApiModelProperty("空白协议ID")
    private Integer blankId;

    @ApiModelProperty("学生用户ID")
    private Integer userId;

    @ApiModelProperty("毕业年份")
    private Integer yearId;

    @ApiModelProperty("学生学号")
    private String xh;

    @ApiModelProperty("学生姓名")
    private String xm;

    @ApiModelProperty("学生班级号码")
    private String bjhm;

    @ApiModelProperty("培养方式")
    private String pyfs;

    @ApiModelProperty("定向生状态 0解锁 1锁定")
    private String directionalState;

    @ApiModelProperty("解约次数")
    private Integer termination;

    @ApiModelProperty("学院代码")
    private String collegeCode;

    @ApiModelProperty("学院名称")
    private String collegeName;

    @ApiModelProperty("专业")
    private String majorName;

    @ApiModelProperty("单位实际名称")
    private String dealCompanyName;

    @ApiModelProperty("就业方式 7种")
    private String signCategory;
    @ApiModelProperty("就业方式标签")
    private String signCategoryLabel;

    @ApiModelProperty("签约发起方式状态")
    private String signWay;
    @ApiModelProperty("签约发起方式状态标签")
    private String signWayLabel;

    @ApiModelProperty("签约状态")
    private String signState;
    @ApiModelProperty("签约状态标签")
    private String signStateLabel;

    @ApiModelProperty("派遣状态")
    private String dispatchState;
    @ApiModelProperty("派遣状态标签")
    private String dispatchStateLabel;

    @ApiModelProperty("邀约时间、登记时间")
    @JsonFormat(pattern = DatePattern.NORM_DATETIME_MINUTE_PATTERN)
    private Date createTime;

    @ApiModelProperty("编辑时间")
    @JsonFormat(pattern = DatePattern.NORM_DATETIME_MINUTE_PATTERN)
    private Date updateTime;
    @ApiModelProperty("签约时间")
    @JsonFormat(pattern = DatePattern.NORM_DATETIME_MINUTE_PATTERN)
    private Date signTime;
    @ApiModelProperty("邀约时间")
    @JsonFormat(pattern = DatePattern.NORM_DATETIME_MINUTE_PATTERN)
    private Date signInvitedTime;
    @ApiModelProperty(value = "解约时间", notes = "校审核通过时间")
    @JsonFormat(pattern = DatePattern.NORM_DATETIME_MINUTE_PATTERN)
    private Date signTerminationTime;

    @ApiModelProperty(value = "查询状态", notes = "1待审核 2未登记 3已登记(非待审核) 4全部")
    private Integer category;

    @ApiModelProperty("升学学校 代码")
    private String studySchoolName;
    @ApiModelProperty("派遣单位名称 作为显示升学学校中文使用")
    private String dispatchCompanyName;

    @ApiModelProperty("旧版出国国家 202405前版本")
    private String abroadCountryOld;
    @ApiModelProperty("旧版出国学校 202405前版本")
    private String abroadSchoolOld;

    @ApiModelProperty(value = "出国出境 留学院校外文名称", notes = "作用 用是否有值来判断是新版出国出境还是旧版出国出境")
    private String abroadSchoolEn;
    @ApiModelProperty("出国国家")
    private String abroadCountry;
    @ApiModelProperty("出国学校")
    private String abroadSchool;

    @ApiModelProperty("毕业去向确认 0确认 1未确认")
    private String confirmState;

    @ApiModelProperty("学生有没有就业方式 0有 1没有")
    private String noSignCategory;

    @ApiModelProperty("邀约在有效期内 0在有效期内")
    private String invite;

    @ApiModelProperty("档案转递单位名称是否变化 0是 1否")
    private String alterState;
    @ApiModelProperty("档案转递单位名称变化最新时间")
    private Date alterTime;

    @ApiModelProperty("档案转递编号")
    private String dispatchArchivesNumber;

}
